Many software companies today regulate the creation of user interfaces for their products, for example through guidelines or other rules or that apply to graphical user interfaces (GUI). The guidelines may stem from a desire to make the GUI user-friendly, from a technical restriction in the implemented system, or from legislation that requires the GUI to be accessible to the visually impaired, to name a few examples. Such guidelines are sometimes very extensive which means that it may be difficult for the individual designer to learn them in their entirety so that they can be applied in the design process. Also, the guidelines may change from time to time so there is a need for timely updates. UI guidelines have been provided to the designer in hard copy or in a form that is otherwise not integrated with the design/development environment, for example by storing them in a file of the computer system.
It happens that developers and designers violate UI rules and standards. Sometimes this is inadvertent, such as when the designer or developer is not aware of the specific rule that applies. First, it may be difficult or impossible to incorporate into the development of UIs ever-growing usability guidelines that convey very large amount of rules and concepts. Second, changes made to these usability guidelines may be overlooked and therefore not considered in the UI developments. Legal requirements regarding accessibility direct public entities to make their software accessible to disabled users. Other industry-specific UI standards may also be or become legal prerequisite in software.
In other situations, the designer or developer ignores a certain guideline believing that it does not apply, or because compliance would require substantial effort. This scenario sometimes occurs in organizations where a large number of UI requirements are posted without sufficient efforts in integrating them with each other or making sure they are consistent. As a result, some applications are created with UIs that contain errors, inconsistencies or other defects. Accordingly, problems may result when requirements and guidelines are not taken into account in UI work.